if REQUEST_NEEDED is still set on ::size-allocate, another size-request
authorTim Janik <timj@gtk.org>
Tue, 5 Oct 2004 15:10:50 +0000 (15:10 +0000)
committerTim Janik <timj@src.gnome.org>
Tue, 5 Oct 2004 15:10:50 +0000 (15:10 +0000)
Tue Oct  5 17:06:26 2004  Tim Janik  <timj@gtk.org>

        * gtk/gtkwidget.c (gtk_widget_size_allocate): if REQUEST_NEEDED is still
        set on ::size-allocate, another size-request has been queued since
        ::size-request and needs to be requeued.

ChangeLog
ChangeLog.pre-2-10
ChangeLog.pre-2-6
ChangeLog.pre-2-8
gtk/gtkwidget.c

index c26eea7a4a44df78f8d6259450a76e883db66f81..7bfe6975624d0d0ad8f1a67345d4d6dd0c50dea1 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+Tue Oct  5 17:06:26 2004  Tim Janik  <timj@gtk.org>
+
+       * gtk/gtkwidget.c (gtk_widget_size_allocate): if REQUEST_NEEDED is still
+       set on ::size-allocate, another size-request has been queued since
+       ::size-request and needs to be requeued.
+
 2004-10-05  Paolo Borelli  <pborelli@katamail.com>
 
        * gtk/gtkmenutoolbutton.c: rename the activate-menu signal to
index c26eea7a4a44df78f8d6259450a76e883db66f81..7bfe6975624d0d0ad8f1a67345d4d6dd0c50dea1 100644 (file)
@@ -1,3 +1,9 @@
+Tue Oct  5 17:06:26 2004  Tim Janik  <timj@gtk.org>
+
+       * gtk/gtkwidget.c (gtk_widget_size_allocate): if REQUEST_NEEDED is still
+       set on ::size-allocate, another size-request has been queued since
+       ::size-request and needs to be requeued.
+
 2004-10-05  Paolo Borelli  <pborelli@katamail.com>
 
        * gtk/gtkmenutoolbutton.c: rename the activate-menu signal to
index c26eea7a4a44df78f8d6259450a76e883db66f81..7bfe6975624d0d0ad8f1a67345d4d6dd0c50dea1 100644 (file)
@@ -1,3 +1,9 @@
+Tue Oct  5 17:06:26 2004  Tim Janik  <timj@gtk.org>
+
+       * gtk/gtkwidget.c (gtk_widget_size_allocate): if REQUEST_NEEDED is still
+       set on ::size-allocate, another size-request has been queued since
+       ::size-request and needs to be requeued.
+
 2004-10-05  Paolo Borelli  <pborelli@katamail.com>
 
        * gtk/gtkmenutoolbutton.c: rename the activate-menu signal to
index c26eea7a4a44df78f8d6259450a76e883db66f81..7bfe6975624d0d0ad8f1a67345d4d6dd0c50dea1 100644 (file)
@@ -1,3 +1,9 @@
+Tue Oct  5 17:06:26 2004  Tim Janik  <timj@gtk.org>
+
+       * gtk/gtkwidget.c (gtk_widget_size_allocate): if REQUEST_NEEDED is still
+       set on ::size-allocate, another size-request has been queued since
+       ::size-request and needs to be requeued.
+
 2004-10-05  Paolo Borelli  <pborelli@katamail.com>
 
        * gtk/gtkmenutoolbutton.c: rename the activate-menu signal to
index 58696d247dde89a717354b6306e9dd73ff252353..89927522668307312a6101519b03ceec942ba824 100644 (file)
@@ -2705,7 +2705,13 @@ gtk_widget_size_allocate (GtkWidget      *widget,
                      old_allocation.y != real_allocation.y);
 
   if (!alloc_needed && !size_changed && !position_changed)
-    return;
+    {
+      if (GTK_WIDGET_REQUEST_NEEDED (widget))
+        { /* another resize has been queued */
+          gtk_widget_queue_resize (widget);
+        }
+      return;
+    }
   
   g_signal_emit (widget, widget_signals[SIZE_ALLOCATE], 0, &real_allocation);
 
@@ -2744,6 +2750,11 @@ gtk_widget_size_allocate (GtkWidget      *widget,
       gtk_widget_invalidate_widget_windows (widget->parent, invalidate);
       gdk_region_destroy (invalidate);
     }
+  
+  if (GTK_WIDGET_REQUEST_NEEDED (widget))
+    { /* another resize has been queued */
+      gtk_widget_queue_resize (widget);
+    }
 }
 
 /**